|
|
|
|
||
|
Tömb feltöltése véletlen számokkal, elrendezése, majd egy bekért szám keresése a tömbben bináris kereséssel, eljárások használatával (BinarisKereses.java) import java.io.*;
public class BinarisKereses{ public static int n=10; public static int [] a=new int[n]; public static int in() throws Exception { LineNumberReader x=new LineNumberReader(new InputStreamReader(System.in)); String s=x.readLine(); int i=Integer.parseInt(s); return i; } public static void feltolt(){ int i=0; while (i<n) { a[i]=(int)(Math.random()*10)+1; i=i+1; } } public static void rendez(){ int i=0, x, j; while (i<n) { j=i+1; while (j<n) { if (a[i]>a[j]) { x=a[i]; a[i]=a[j]; a[j]=x; } j=j+1; } i=i+1; } } public static void kiir(){ System.out.println(" "); System.out.println("A tomb elemei rendezve:"); int i=0; while (i<n){ System.out.println("A tomb "+i+". eleme: "+a[i]); i=i+1; } } public static void keres() throws Exception{ int i1,i2,i=0,talalat,szam,i0; i1=0; i2=n-1; talalat=0; System.out.print("A keresett szam: "); szam=in(); while (i1<i2) { i=(int)((i1+i2)/2); if (a[i]==szam) break; if (a[i]<szam) i1=i+1; else i2=i-1; } i0=i; while (i1<=i){ if (a[i]==szam) { System.out.println("A keresett szam a sorozat "+i+" eleme."); talalat=talalat+1; i=i-1; } else break; } i=i0+1; while (i2>=i) { if (a[i]==szam) { System.out.println("A keresett szam a sorozat "+i+" eleme."); talalat=talalat+1; i=i+1; } else break; } System.out.println("Talalatok szama: "+talalat); } public static void main (String [] args) throws Exception{ feltolt(); kiir(); rendez(); kiir(); keres(); } } |
||||